﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using Sharp.Infrastructure.Interfaces;

namespace Sharp.DataTransferObject.CMS
{
    public class VIUDTO : IDTO
    {
        public Guid Id { get; set; }
        /// <summary>
        /// 标题
        /// </summary>
        public string Title { get; set; }

        /// <summary>
        /// 编辑
        /// </summary>
        public string EditorId { get; set; }
        /// <summary>
        /// 总点击
        /// </summary>
        public int Hits { get; set; }
        /// <summary>
        /// 日点击
        /// </summary>
        public int DayHits { get; set; }
        /// <summary>
        /// 周点击
        /// </summary>
        public int WeekHits { get; set; }
        /// <summary>
        /// 月点击
        /// </summary>
        public int MonthHits { get; set; }
        /// <summary>
        /// 评级
        /// </summary>
        public byte Stars { get; set; }

        /// <summary>
        /// 是否头条
        /// </summary>
        public bool IsHeadline { get; set; }

        /// <summary>
        /// 推荐
        /// </summary>
        public bool IsElite { get; set; }
        /// <summary>
        /// 置顶
        /// </summary>
        public bool IsOnTop { get; set; }
        /// <summary>
        /// 是否删除
        /// </summary>
        public bool IsDeleted { get; set; }
        /// <summary>
        /// 是否审核
        /// </summary>
        public bool IsChecked { get; set; }

        /// <summary>
        /// 允许评论
        /// </summary>
        public bool AllowComment { get; set; }

        /// <summary>
        /// 最后点击
        /// </summary>
        public System.DateTime? LastHitTime { get; set; }

        /// <summary>
        /// 评论数量
        /// </summary>
        public int CommentQuantity { get; set; }
        /// <summary>
        /// 评论分数
        /// </summary>
        public int CommentScore { get; set; }
        /// <summary>
        /// 分类id
        /// </summary>
        public Guid CategoryId { get; set; }
        /// <summary>
        /// 类型
        /// </summary>
        public VIUCategoryDTO Category { get; set; }

        public string Content { get; set; }
        /// <summary>
        /// 作者
        /// </summary>
        public string Author { get; set; }
        /// <summary>
        /// 来源
        /// </summary>
        public string ComeFrom { get; set; }

        /// <summary>
        /// 性质
        /// </summary>
        public int Nature { get; set; }
        /// <summary>
        /// 关注度
        /// </summary>
        public VIUInterest Interest { get; set; }
        /// <summary>
        /// 重要性
        /// </summary>
        public VIUImportance Importance { get; set; }
        /// <summary>
        /// 风格
        /// </summary>
        public VIUStyle Style { get; set; }
        /// <summary>
        /// 事件时间
        /// </summary>
        public DateTime? EventDay { get; set; }

        /// <summary>
        /// 发布时间
        /// </summary>
        public DateTime? PublishDay { get; set; }
        /// <summary>
        /// 添加日期
        /// </summary>
        public System.DateTime? CheckInTime { get; set; }

        public Guid[] TagIds { get; set; }
        public Guid[] FieldIds { get; set; }

        /// <summary>
        /// 审核信息
        /// </summary>
        public ICollection<ApproveHistoryDTO> ApproveHistories { get; set; }

        /// <summary>
        /// 领域
        /// </summary>
        public ICollection<FieldDTO> Fields { get; set; }

        public ICollection<TagDTO> Tags { get; set; }

        public string TempFlag { get; set; }

        public ICollection<MultiMediaDTO> MultiMedias { get; set; }


        /// <summary>
        /// 缩略图
        /// </summary>
        public string thumbUrl { get; set; }

        public string EditorName { get; set; }

        /// <summary>
        /// VIU关注度
        /// </summary>
        public enum VIUInterest
        {
            A=0, B=1, C=3, D=4
        }
        /// <summary>
        /// VIU重要性
        /// </summary>
        public enum VIUImportance
        {
            A = 0, B = 1, C = 3, D = 4
        }
        /// <summary>
        /// VIU风格
        /// </summary>
        public enum VIUStyle
        {

            /// <summary>
            /// 轻松
            /// </summary>
            [Description("轻松")]
            A = 0,
            /// <summary>
            /// 普通
            /// </summary>
            [Description("普通")]
            B = 1,
            /// <summary>
            /// 严肃
            /// </summary>
            [Description("严肃")]
            C3 = 2
        }
    }
}
